Digital rights management and enforcement is highly desirable in connection with digital content such as digital audio, digital video, digital text, digital data, digital multimedia, etc., where such digital content is to be distributed to one or more users. Typical modes of distribution include tangible devices such as a magnetic (floppy) disk, a magnetic tape, an optical (compact) disk (CD), etc., and intangible media such as an electronic bulletin board, an electronic network, the Internet, etc. Upon being received by the user, such user renders or ‘plays’ the digital content with the aid of an appropriate rendering device such as a media player on a personal computer or the like.
In one scenario, a content owner or rights-owner such as an author, a publisher, a broadcaster, etc., wishes to distribute such digital content to each of many users or recipients in exchange for a license fee or some other consideration. In such scenario, then, the content may be a song, an album of songs, a movie, etc., and the purpose of the distribution is to generate the license fees. Such content owner, given the choice, would likely wish to restrict what the user can do with such distributed digital content. For example, the content owner would like to restrict the user from copying and re-distributing such content to a second user, at least in a manner that denies the content owner a license fee from such second user.
In addition, the content owner may wish to provide the user with the flexibility to purchase different types of use licenses at different license fees, while at the same time holding the user to the terms of whatever type of license is in fact purchased. For example, the content owner may wish to allow distributed digital content to be played only a limited number of times, only for a certain total time, only on a certain type of machine, only on a certain type of media player, only by a certain type of user, etc.
In another scenario, a content developer, such as an employee in an organization, wishes to distribute such digital content to one or more other employees in the organization or to other individuals outside the organization, but would like to keep others from rendering the content. Here, the distribution of the content is more akin to organization-based content sharing in a confidential or restricted manner, as opposed to broad-based distribution in exchange for a license fee or some other consideration. In such scenario, then, the content may be a document presentation, spreadsheet, database, email, or the like, such as may be exchanged within an office setting, and the content developer may wish to ensure that the content stays within the office setting and is not rendered by non-authorized individuals, such as for example competitors or adversaries. Again, such content developer wishes to restrict what a recipient can do with such distributed digital content. For example, the content owner would like to restrict the user from copying and re-distributing such content to a second user, at least in a manner that exposes the content outside the bounds of individuals who should be allowed to render the content.
In addition, the content developer may wish to provide various recipients with different levels of rendering rights. For example, the content developer may wish to allow protected digital content to be viewable and not printable with respect to one class of individual, and viewable and printable with respect to another class of individual.
However, and in either scenario, after distribution has occurred, such content owner/developer has very little if any control over the digital content. This is especially problematic in view of the fact that practically every personal computer includes the software and hardware necessary to make an exact digital copy of such digital content, and to download such exact digital copy to a write-able magnetic or optical disk, or to send such exact digital copy over a network such as the Internet to any destination.
Of course, as part of a transaction wherein the content is distributed, the content owner/developer may require the user/recipient of the digital content to promise not to re-distribute such digital content in an unwelcome manner. However, such a promise is easily made and easily broken. A content owner/developer may attempt to prevent such re-distribution through any of several known security devices, usually involving encryption and decryption. However, there is likely very little that prevents a mildly determined user from decrypting encrypted digital content, saving such digital content in an un-encrypted form, and then re-distributing same.
For many reasons, DRM server technology is dynamic. That is, as technology develops over time, or as new threats to the security of the digital content emerge, different approaches tend to be used to perform certain tasks to provide particular services. Frequently, the provision of a particular DRM service involves the performance of a number to separate tasks. However, from time to time, a provider might wish to perform only one or a few tasks differently. The provider and the user typically would prefer that the system as a whole be disrupted as little as possible. Additionally, due to cost and other constraints, different users of such DRM servers desire or require systems that perform differently. Consequently, it would be advantageous if systems and methods were available whereby only selected tasks within the provision of a digital rights management service could be changed in a modular fashion without the need to modify the entire service provision program.
Also, because a typical DRM installation can provide a number of digital rights management services such as publishing, licensing, federation services, enrollment services, etc., it is desirable that these services be provided in a manner that enables the provider/administrator of the installation to maintain the system as efficiently as possible. For example, the administrator might not want to have to upgrade the publishing service every time a change is made to the licensing component, and vice versa. Consequently, it would be advantageous if systems were available to provide these services independently of one another. There is a need in the art, therefore, for a modular approach for providing a plurality of DRM services independently of one another. Such approaches would be particularly advantageous if they enabled componentization of key business logic so that third parties could extend and modify DRM functionality and business logic of the platform.